1
La voie vers le calcul GPU multiplateforme
AI022Lesson 4
00:00

Le Interface de calcul hétérogène pour la portabilité (HIP) fournit une API runtime C++ qui abstrait les couches matérielles afin d'offrir une base de code unifiée pour les GPU NVIDIA et AMD. Cette approche élimine l'engagement avec un fournisseur en imitant l'environnement CUDA tout en ciblant le ROCm backend.

1. Configuration de l’environnement

L’initialisation commence par la définition des variables d’environnement pour indiquer au compilateur hipcc le bon outil de compilation :

$ export HIP_PATH=[MONHIP]
$ export PATH=$PATH:[MONHIP]/bin

2. Normalisation de l’outil de compilation

Le hipcc compilateur agit comme un enveloppe intelligent. Pour l'automatisation de la construction, la logique HIP_PATH ?= $(shell hipconfig --path) assure que votre fichier Make trouve dynamiquement l’installation HIP, quelle que soit la configuration du système.

3. Logique de versionnage

HIP utilise une formule déterministe de versionnage pour gérer de manière programmatique la disponibilité des fonctionnalités à travers les versions :

$$\text{VERSION\_HIP} = \text{MAJ\_VERSION\_HIP} \times 10^7 + \text{MIN\_VERSION\_HIP} \times 10^5 + \text{PATCH\_VERSION\_HIP}$$

Code source HIPNVIDIA (NVCC)AMD (Clang/ROCm)

4. Équivalents du runtime principal

HIP fournit hipMalloc et hipLaunchKernel comme des miroirs fonctionnels des appels de mémoire et d'exécution de CUDA, permettant une philosophie de développement « source unique ».

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>